const config = require('./config.js');

/**
 * @param url:String  require(必需) 请求地址相对路径
 * @param type:Object   可选  请求类型
 * @param data:Object   可选  请求数据
 * @param success:Function  可选   成功回调函数
 * @param fail:Function     可选    失败回调函数
 */

// function Request({
//   url,
//   type,
//   data,
//   success,
//   fail
// }) {
//   return new Promise((resolve, reject,next) => {
//     let header = {
//       // 'content-type': 'application/json',  //json格式
//       'content-type': 'application/x-www-form-urlencoded',  //form格式
//     }
//       wx.request({
//         url: config.host + url,
//         method: type || "POST",
//         data: data,
//         header: header,
//         success: function(res) {
//           if (success && typeof success === "function") {
//             success(res.data);
//             resolve(res.data);
//           }
//         },
//         fail: function(error) {
//           if (fail && typeof fail === "function") {
//             fail(error);
//             reject(error)
//           } else {       
//             throw new Error('获取数据错误:' + JSON.stringify(error));        
//           }
//         }
//       })
//   })
// }

//进一步封装
function Request(
  url,
  type,
  params
) {
  return new Promise((resolve, reject,next) => {
    let header = {
      // 'content-type': 'application/json',  //json格式
      'content-type': 'application/x-www-form-urlencoded',  //form格式
    }
      wx.request({
        url: config.host + url,
        method: type || "POST",
        data: params,
        header: header,
        success: function(res) {
          console.log(res)
          resolve(res.data);
        },
        fail: function(error) {
          reject(error)
        },
        complete: function(aaa){
          console.log(aaa)
        }
      })
  })
}

module.exports = Request;